The use of mobile devices such as smart phones, mobile phones, tablet computers, and other similar devices has significantly increased in the past years. Such mobile devices allow access to a variety of application programs also known as “applications” or “apps.”
The applications are usually designed to help a user of a mobile device in performing a specific task. Applications may be bundled with the computer and its system software, or may be accessible and sometimes downloadable from a central repository such as, for example, the App Store™ by Apple®, and the like.
Through the central repositories hosting applications, users are able to search for applications using search engines. When a user finds a desired application, a link is provided through which the application is downloaded to the mobile device. The applications are sometimes downloadable straight from the repository.
In the central repositories, applications are typically organized according to different categories, such as books, games, educational applications, and so on. A user can start the search for an application by first selecting a category of interest and then navigating through the applications listed under the selected category. To narrow the search a user can filter the listed applications in the selected category to ‘paid,’ ‘free, ’ and ‘top rated’ applications. Alternatively, the user can search for applications using keywords. However, in such a case the user needs to know at least the name of the desired application, as the search results include all applications that the input keyword exists in. For example, the keyword ‘ticket’ would return a list of applications that offer tickets for movies, sport events, and concerts in different cities around the world. If the user who searched by the keyword “ticket” is interested only in movie tickets for a local theater, the user will need to review a list of irrelevant applications to find an application related to his particular desired topic. The order of the applications presented to the user is usually not based on the relevancy to the user. Thus, the process for searching for an application is very time consuming, as the process requires navigation through tens or hundreds of applications. This longevity of the process occurs because, among other causes, the applications retuned in response to the search are commonly promoted by the repository's owner, even if such applications do not meet the exact user's needs or intent.
It would therefore be advantageous to provide an application search solution that overcomes the limitations of current search solutions as discussed above.